<script>
  // 实现 pow(x, n) ，即计算 x 的 n 次幂函数（即，xn）。不得使用库函数，同时不需要考虑大数问题。

  // 示例 1：
  // 输入：x = 2.00000, n = 10
  // 输出：1024.00000

  // 示例 2：
  // 输入：x = 2.10000, n = 3
  // 输出：9.26100

  // 来源：力扣（LeetCode）
  // 链接：https://leetcode.cn/problems/shu-zhi-de-zheng-shu-ci-fang-lcof

  /**
   * @param {number} x
   * @param {number} n
   * @return {number}
   */
  var myPow = function (x, n) {
    let res = 1.0;
    if (n == 0) return 1;
    if (n == 1) return x;
    // 如果是负次幂 用1/x
    if (n < 0) {
      x = 1 / x;
      n = -n;
    }

    while (n > 0) {
      if (n & 1) {
        res *= x;
      }

      x *= x;
      n = n >>> 1;
    }

    return res;
  };
</script>
